﻿<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <!-- 引入 ECharts 文件 -->
    <script src="js/echarts.js"></script>

</head>

<body>
    <!---为ECharts准备一个具备大小（宽高）的DOM--->
    <div id="main" style="width: 800px; height: 600px"></div>
    <script type="text/javascript">
        //基于准备好的DOM，初始化ECharts图表
        var myChart = echarts.init(document.getElementById("main"));
        //指定图表的配置项和数据
        var option = {  //指定图表的配置项和数据
            color: ['lightblue', 'rgba(0,150,0,0.5)', 'rgba(255,200,0,0.5)',
                'rgba(155,200,50,0.5)', 'rgba(44,44,0,0.5)', 'rgba(33,33,30,0.5)',
                'rgba(255,66,0,0.5)', 'rgba(155,23,31,0.5)', 'rgba(23,44,55,0.5)'],
            //配置标题组件
            title: { left: 270, top: 0, textStyle: { color: 'green' }, text: '漏斗图' },
            backgroundColor: 'rgba(128, 128, 128, 0.1)',  //rgba设置透明度0.1
            tooltip: { trigger: 'item', formatter: "{a} <br/>{b} : {c}%" },  //配置提示框组件
            toolbox: {
                left: 555, top: 0,
                feature: {
                    dataView: { readOnly: false },
                    restore: {}, saveAsImage: {}
                }
            },  //配置工具箱组件
            legend: {
                left: 40, top: 30, data: ['浏览选购', '添加到购物车', '购物车结算',
                    '核对订单信息', '提交订单', '选择支付方式', '完成支付']
            },  //配置图例组件
            calculable: true,
            series: [  //配置数据系列
                {
                    name: '漏斗图', type: 'funnel', left: '3%',
                    sort: 'descending',  //金字塔:'ascending'; 漏斗图:'descending'
                    top: 60, bottom: 60, width: '80%',
                    min: 0, max: 100,
                    minSize: '0%',  //设置每一块的最小宽度
                    maxSize: '100%',  //设置每一块的最大，一次去除掉尖角
                    gap: 2,  //设置每一块之间的间隔
                    label: { show: true, position: 'inside' },  //设置标签显示在里面|外面
                    labelLine: {
                        length: 10,  //设置每一块的名字前面的线的长度
                        lineStyle: {
                            width: 1,  //设置每一块的名字前面的线的宽度
                            type: 'solid'//设置每一块的名字前面的线的类型
                        }
                    },
                    itemStyle: {
                        normal: {  //设置图形在正常状态下的样式 
                            label: { show: true, fontSize: 15, color: 'blue', position: 'inside', },
                            borderColor: '#fff',  //设置每一块的边框颜色
                            borderWidth: 0,  //设置每一块边框的宽度
                            shadowBlur: 50,  //设置整个外面的阴影厚度
                            shadowOffsetX: 0,  //设置每一块的y轴的阴影
                            shadowOffsetY: 50,  //设置每一块的x轴的阴影
                            shadowColor: 'rgba(0,255,0,0.4)'//设置阴影颜色
                        }
                    },
                    //设置鼠标hover时高亮样式
                    emphasis: { label: { fontFamily: "楷体", color: 'green', fontSize: 28 } },
                    data: [  //设置在漏斗图中展示的数据 
                        { value: 100, name: '浏览选购' }, { value: 60, name: '添加到购物车' },
                        { value: 42, name: '购物车结算' }, { value: 25, name: '核对订单信息' },
                        { value: 9, name: '提交订单' }, { value: 4, name: '选择支付方式' },
                        { value: 2.5, name: '完成支付' },]
                }
            ]
        };
        //使用刚指定的配置项和数据显示图表
        myChart.setOption(option); 
    </script>
</body>

</html>